window.workspace = function(){
	var response  = <?#$respons?>;
	var win, store, grid;
	var sid = {'table':Ext.id(), 'user':Ext.id(), 'msg':Ext.id(), 'type':Ext.id(),
		'origin':Ext.id(), 'sdate':Ext.id(), 'edate':Ext.id()};
	function openText(data){
		var obj = null;
		win && win.close();
		try {
			obj = Ext.decode(data);
			data= JSON.stringify(obj, null, "\t");
		}catch(err) {
		}
		win = new Ext.Window({
			title	: '日志详情',
			iconCls	: 'icon-edit',	
			width	: 760,
			items   : [{html:data, id:sid.preview}],
			closeAction : 'hide'
		});
		win.show();
	};
	var sm  = new Ext.grid.CheckboxSelectionModel();
	store = new Ext.data.JsonStore({
	    autoDestroy	: true,
	    url			: '/admin/syslog/dolist.html',
	    remoteSort	: true,
	    sortInfo	: {
	        field		: 'id',
	        direction	: 'DESC'
		},
		baseParams	: {
			start	: 0,
			limit	: main.pageSize,
			table   : response.table
		},
		autoLoad		: true,
	    root			: 'dataset',
	 	totalProperty	: 'total',
	    fields			: ['id', 'type', 'path', 'user', 'msg', 'ip', 'stime']
	});
 	grid = {
		xtype		: 'grid',
		title		: response.title,
	    store		: store,
		region		: 'center', 
	    columns		: [
	        sm,
			{header: 'ID编号', width:60, sortable:true, dataIndex:'id'},
			{header: '工日类别', width:60, sortable:true, dataIndex:'type', renderer:function(v){
				return response.type[v];
			}},
			{header: '日志来源', width:120, dataIndex:'path'},
			{header: '操作用户名', width:80, dataIndex:'user'},
			{header: '操作信息', width:340, dataIndex:'msg'},
			{header: '操作IP', width:80, sortable:true, dataIndex:'ip'},
			{header: '操作时间',width:120,dataIndex:'stime'}
		],
	    viewConfig	: {
	        forceFit	 : true,
	        scrollOffset : 0
	    },  
	    listeners	: {
			'destroy':function(){
    			win && win.close();
    		},
			'rowdblclick':function(obj, index, e){
				var data = obj.store.getAt(index).copy();
				openText(data.get('msg'));
			}
	    },
	    sm			: sm,
	    stripeRows	: true,
	    tbar		: [{
			text	: '刷新',
			iconCls	: 'icon-refresh',
			handler : function(){
					store.reload(); 
				}
			},'-','<b>检索资料：</b>','分表名称',{
	    		xtype		: 'combo',
	            store		: new Ext.data.JsonStore({
		        	fields	: ['id','name'],
		        	root	: 'dataset',
		        	autoLoad: true,
		        	baseParams	: {
		        		orm	: 'main.sys.syslog'
		    		},
		    		url 	: '/admin/share/dotables.html'
		    	}),
		    	value           : response.table,
		    	id              : sid.table,
				displayField	: 'name',
				valueField		: 'id',
				emptyText		: '请选择',
	            width			: 138,
				typeAhead		: true,
				typeAheadDelay  : 0,
				triggerAction	: 'all',
				enableKeyEvents : true,
				mode			: 'remote'
			 },'用户名:',{
				xtype       : 'textfield',
				id	    	: sid.user,
				width	    : 80
			},'信息:',{
				xtype       : 'textfield',
				id  		: sid.msg,
				width	    : 100
			},'来源:',{
				xtype       : 'textfield',
				id  		: sid.origin,
				width	    : 80
			},'类别:',{
				xtype		: 'combo',
				store		: new Ext.data.ArrayStore({
			        fields: ['id','name'],
			        data: main.cv2Array(response.type)
			    }),
				displayField	: 'name',
				valueField		: 'id',
				mode			: 'local',
				triggerAction	: 'all',
				emptyText		: '请选择',
				width			: 80,
				id  			: sid.type
			},'日期:',{
				xtype       : 'datefield',
				id  		: sid.sdate,
				format      : 'Y-m-d',
				width	    : 100
			},'<->',{
				xtype       : 'datefield',
				id  		: sid.edate,
				format      : 'Y-m-d',
				width	    : 100
			},{
			text			: '检索',
			iconCls			: 'icon-search',
			handler: function() {
				store.baseParams.table  = Ext.getCmp(sid.table).getValue();
				store.baseParams.user   = Ext.getCmp(sid.user).getValue();
				store.baseParams.msg    = Ext.getCmp(sid.msg).getValue();
				store.baseParams.origin = Ext.getCmp(sid.origin).getValue();
				store.baseParams.type   = Ext.getCmp(sid.type).getValue();
				store.baseParams.sdate  = Ext.getCmp(sid.sdate).getValue();
				store.baseParams.edate  = Ext.getCmp(sid.edate).getValue();
				store.reload(); 
			}
		}],
		bbar		: new Ext.PagingToolbar({
			pageSize	: main.pageSize,
			store		: store,
			displayInfo	: true
		})
	};
	return grid;
}();